1. Technical Field
The embodiments herein generally relate to an Online Analytical Processing (OLAP) systems and methods and particularly to techniques for representing OLAP queries using directed acyclic graph structures in a datagrid to support real-time analytical operations.
2. Description of the Related Art
Online Transaction Processing, or OLTP, refers to transaction-oriented applications which are used for data-entry and data retrieval processing for commercial purposes. For example, in a banking system, cash withdrawal using an Automated Teller Machine (ATM) represents a business transaction.
Online Analytical Processing, or OLAP, is a system to answer multi-dimensional analytical queries. The parameters of the OLAP system are dynamically configurable (i.e.) the OLAP query is constructed dynamically and the results for that query is obtained fairly quickly. The OLAP query results are typically used for reporting and monitoring purposes.
In conventional transaction processing systems, the business data is captured using entities representing real-world concepts like Customer, Account, Pricelist, Branch etc by identifying one or more attributes associated the entity. For example, the customer has attributes like name, address etc. The business rule defines the operations and constraints that are applied to people, processes and computing systems in an organization. The business rules are put in place to help an organization achieve its goals. Entities also have business rules associated with them. For example, the business rules: “A customer can have a maximum of three accounts” is a rule on the Customer-Account entity relationship.
The business rules are typically used to control the behavior of OLTP systems. For example, in a banking management system, a business rule for a daily maximum debit limit governs the cash withdrawal transactions.
Consider a following query:
SELECT COUNT *FROM Customer, AccountWHERECustomer. cust_id = Account.cust_idAND Account.type = “Savings”AND Customer.region = “USA”\Typically, data is stored in disk as tables in Relational Databases or Key-Value pairs for File-based databases like Cassandra, Bigtable etc. In a Relational Database Management System (RDBMS), data is typically stored in tables. Considering a query having instructions to fetch details from two tables Customer table and Account table with a plurality of clauses to necessitate a table join operation between the Customer table and the Account table. This table join operation is performed by first determining the Cartesian product of Account×Customer, which is then filtered by the conditions in the WHERE clause. However, such operations are very time-consuming and are not suited for real time OLAP queries.
In view of the foregoing, there is a need to provide an appropriate method and system to support and ease the online analytical processing in real time. There also exists a need for a method and system for providing links to business entities involved in the processes. Further there exists a need for a method and system which enables dynamic addition, maintenance and updating of business transactions and corresponding business data.
The abovementioned shortcomings, disadvantages and problems are addressed herein and which will be understood by reading and studying the following specification.